/******************************************************************************
** Copyright (C) 2006-2015 ascolab GmbH. All Rights Reserved.
** Web: http://www.ascolab.com
**
** This program is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License
** as published by the Free Software Foundation; either version 2
** of the License, or (at your option) any later version.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** Project: OpcUa Wireshark Plugin
**
** Description: OpcUa Service Type Parser
**
** This file was autogenerated on 13.10.2015.
** DON'T MODIFY THIS FILE!
** XXX - well, except that you may have to.  See the README.
**
******************************************************************************/

#include <glib.h>
#include <epan/packet.h>

extern gint ett_opcua_ServiceFault;
extern gint ett_opcua_array_ServiceFault;
extern gint ett_opcua_FindServersRequest;
extern gint ett_opcua_array_FindServersRequest;
extern gint ett_opcua_FindServersResponse;
extern gint ett_opcua_array_FindServersResponse;
extern gint ett_opcua_FindServersOnNetworkRequest;
extern gint ett_opcua_array_FindServersOnNetworkRequest;
extern gint ett_opcua_FindServersOnNetworkResponse;
extern gint ett_opcua_array_FindServersOnNetworkResponse;
extern gint ett_opcua_GetEndpointsRequest;
extern gint ett_opcua_array_GetEndpointsRequest;
extern gint ett_opcua_GetEndpointsResponse;
extern gint ett_opcua_array_GetEndpointsResponse;
extern gint ett_opcua_RegisterServerRequest;
extern gint ett_opcua_array_RegisterServerRequest;
extern gint ett_opcua_RegisterServerResponse;
extern gint ett_opcua_array_RegisterServerResponse;
extern gint ett_opcua_RegisterServer2Request;
extern gint ett_opcua_array_RegisterServer2Request;
extern gint ett_opcua_RegisterServer2Response;
extern gint ett_opcua_array_RegisterServer2Response;
extern gint ett_opcua_OpenSecureChannelRequest;
extern gint ett_opcua_array_OpenSecureChannelRequest;
extern gint ett_opcua_OpenSecureChannelResponse;
extern gint ett_opcua_array_OpenSecureChannelResponse;
extern gint ett_opcua_CloseSecureChannelRequest;
extern gint ett_opcua_array_CloseSecureChannelRequest;
extern gint ett_opcua_CloseSecureChannelResponse;
extern gint ett_opcua_array_CloseSecureChannelResponse;
extern gint ett_opcua_CreateSessionRequest;
extern gint ett_opcua_array_CreateSessionRequest;
extern gint ett_opcua_CreateSessionResponse;
extern gint ett_opcua_array_CreateSessionResponse;
extern gint ett_opcua_ActivateSessionRequest;
extern gint ett_opcua_array_ActivateSessionRequest;
extern gint ett_opcua_ActivateSessionResponse;
extern gint ett_opcua_array_ActivateSessionResponse;
extern gint ett_opcua_CloseSessionRequest;
extern gint ett_opcua_array_CloseSessionRequest;
extern gint ett_opcua_CloseSessionResponse;
extern gint ett_opcua_array_CloseSessionResponse;
extern gint ett_opcua_CancelRequest;
extern gint ett_opcua_array_CancelRequest;
extern gint ett_opcua_CancelResponse;
extern gint ett_opcua_array_CancelResponse;
extern gint ett_opcua_AddNodesRequest;
extern gint ett_opcua_array_AddNodesRequest;
extern gint ett_opcua_AddNodesResponse;
extern gint ett_opcua_array_AddNodesResponse;
extern gint ett_opcua_AddReferencesRequest;
extern gint ett_opcua_array_AddReferencesRequest;
extern gint ett_opcua_AddReferencesResponse;
extern gint ett_opcua_array_AddReferencesResponse;
extern gint ett_opcua_DeleteNodesRequest;
extern gint ett_opcua_array_DeleteNodesRequest;
extern gint ett_opcua_DeleteNodesResponse;
extern gint ett_opcua_array_DeleteNodesResponse;
extern gint ett_opcua_DeleteReferencesRequest;
extern gint ett_opcua_array_DeleteReferencesRequest;
extern gint ett_opcua_DeleteReferencesResponse;
extern gint ett_opcua_array_DeleteReferencesResponse;
extern gint ett_opcua_BrowseRequest;
extern gint ett_opcua_array_BrowseRequest;
extern gint ett_opcua_BrowseResponse;
extern gint ett_opcua_array_BrowseResponse;
extern gint ett_opcua_BrowseNextRequest;
extern gint ett_opcua_array_BrowseNextRequest;
extern gint ett_opcua_BrowseNextResponse;
extern gint ett_opcua_array_BrowseNextResponse;
extern gint ett_opcua_TranslateBrowsePathsToNodeIdsRequest;
extern gint ett_opcua_array_TranslateBrowsePathsToNodeIdsRequest;
extern gint ett_opcua_TranslateBrowsePathsToNodeIdsResponse;
extern gint ett_opcua_array_TranslateBrowsePathsToNodeIdsResponse;
extern gint ett_opcua_RegisterNodesRequest;
extern gint ett_opcua_array_RegisterNodesRequest;
extern gint ett_opcua_RegisterNodesResponse;
extern gint ett_opcua_array_RegisterNodesResponse;
extern gint ett_opcua_UnregisterNodesRequest;
extern gint ett_opcua_array_UnregisterNodesRequest;
extern gint ett_opcua_UnregisterNodesResponse;
extern gint ett_opcua_array_UnregisterNodesResponse;
extern gint ett_opcua_QueryFirstRequest;
extern gint ett_opcua_array_QueryFirstRequest;
extern gint ett_opcua_QueryFirstResponse;
extern gint ett_opcua_array_QueryFirstResponse;
extern gint ett_opcua_QueryNextRequest;
extern gint ett_opcua_array_QueryNextRequest;
extern gint ett_opcua_QueryNextResponse;
extern gint ett_opcua_array_QueryNextResponse;
extern gint ett_opcua_ReadRequest;
extern gint ett_opcua_array_ReadRequest;
extern gint ett_opcua_ReadResponse;
extern gint ett_opcua_array_ReadResponse;
extern gint ett_opcua_HistoryReadRequest;
extern gint ett_opcua_array_HistoryReadRequest;
extern gint ett_opcua_HistoryReadResponse;
extern gint ett_opcua_array_HistoryReadResponse;
extern gint ett_opcua_WriteRequest;
extern gint ett_opcua_array_WriteRequest;
extern gint ett_opcua_WriteResponse;
extern gint ett_opcua_array_WriteResponse;
extern gint ett_opcua_HistoryUpdateRequest;
extern gint ett_opcua_array_HistoryUpdateRequest;
extern gint ett_opcua_HistoryUpdateResponse;
extern gint ett_opcua_array_HistoryUpdateResponse;
extern gint ett_opcua_CallRequest;
extern gint ett_opcua_array_CallRequest;
extern gint ett_opcua_CallResponse;
extern gint ett_opcua_array_CallResponse;
extern gint ett_opcua_CreateMonitoredItemsRequest;
extern gint ett_opcua_array_CreateMonitoredItemsRequest;
extern gint ett_opcua_CreateMonitoredItemsResponse;
extern gint ett_opcua_array_CreateMonitoredItemsResponse;
extern gint ett_opcua_ModifyMonitoredItemsRequest;
extern gint ett_opcua_array_ModifyMonitoredItemsRequest;
extern gint ett_opcua_ModifyMonitoredItemsResponse;
extern gint ett_opcua_array_ModifyMonitoredItemsResponse;
extern gint ett_opcua_SetMonitoringModeRequest;
extern gint ett_opcua_array_SetMonitoringModeRequest;
extern gint ett_opcua_SetMonitoringModeResponse;
extern gint ett_opcua_array_SetMonitoringModeResponse;
extern gint ett_opcua_SetTriggeringRequest;
extern gint ett_opcua_array_SetTriggeringRequest;
extern gint ett_opcua_SetTriggeringResponse;
extern gint ett_opcua_array_SetTriggeringResponse;
extern gint ett_opcua_DeleteMonitoredItemsRequest;
extern gint ett_opcua_array_DeleteMonitoredItemsRequest;
extern gint ett_opcua_DeleteMonitoredItemsResponse;
extern gint ett_opcua_array_DeleteMonitoredItemsResponse;
extern gint ett_opcua_CreateSubscriptionRequest;
extern gint ett_opcua_array_CreateSubscriptionRequest;
extern gint ett_opcua_CreateSubscriptionResponse;
extern gint ett_opcua_array_CreateSubscriptionResponse;
extern gint ett_opcua_ModifySubscriptionRequest;
extern gint ett_opcua_array_ModifySubscriptionRequest;
extern gint ett_opcua_ModifySubscriptionResponse;
extern gint ett_opcua_array_ModifySubscriptionResponse;
extern gint ett_opcua_SetPublishingModeRequest;
extern gint ett_opcua_array_SetPublishingModeRequest;
extern gint ett_opcua_SetPublishingModeResponse;
extern gint ett_opcua_array_SetPublishingModeResponse;
extern gint ett_opcua_PublishRequest;
extern gint ett_opcua_array_PublishRequest;
extern gint ett_opcua_PublishResponse;
extern gint ett_opcua_array_PublishResponse;
extern gint ett_opcua_RepublishRequest;
extern gint ett_opcua_array_RepublishRequest;
extern gint ett_opcua_RepublishResponse;
extern gint ett_opcua_array_RepublishResponse;
extern gint ett_opcua_TransferSubscriptionsRequest;
extern gint ett_opcua_array_TransferSubscriptionsRequest;
extern gint ett_opcua_TransferSubscriptionsResponse;
extern gint ett_opcua_array_TransferSubscriptionsResponse;
extern gint ett_opcua_DeleteSubscriptionsRequest;
extern gint ett_opcua_array_DeleteSubscriptionsRequest;
extern gint ett_opcua_DeleteSubscriptionsResponse;
extern gint ett_opcua_array_DeleteSubscriptionsResponse;
extern gint ett_opcua_TestStackRequest;
extern gint ett_opcua_array_TestStackRequest;
extern gint ett_opcua_TestStackResponse;
extern gint ett_opcua_array_TestStackResponse;
extern gint ett_opcua_TestStackExRequest;
extern gint ett_opcua_array_TestStackExRequest;
extern gint ett_opcua_TestStackExResponse;
extern gint ett_opcua_array_TestStackExResponse;

void parseServiceFault(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseFindServersRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseFindServersResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseFindServersOnNetworkRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseFindServersOnNetworkResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseGetEndpointsRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseGetEndpointsResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseRegisterServerRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseRegisterServerResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseRegisterServer2Request(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseRegisterServer2Response(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseOpenSecureChannelRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseOpenSecureChannelResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseCloseSecureChannelRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseCloseSecureChannelResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseCreateSessionRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseCreateSessionResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseActivateSessionRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseActivateSessionResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseCloseSessionRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseCloseSessionResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseCancelRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseCancelResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseAddNodesRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseAddNodesResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseAddReferencesRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseAddReferencesResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseDeleteNodesRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseDeleteNodesResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseDeleteReferencesRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseDeleteReferencesResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseBrowseRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseBrowseResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseBrowseNextRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseBrowseNextResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseTranslateBrowsePathsToNodeIdsRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseTranslateBrowsePathsToNodeIdsResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseRegisterNodesRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseRegisterNodesResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseUnregisterNodesRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseUnregisterNodesResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseQueryFirstRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseQueryFirstResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseQueryNextRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseQueryNextResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseReadRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseReadResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseHistoryReadRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseHistoryReadResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseWriteRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseWriteResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseHistoryUpdateRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseHistoryUpdateResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseCallRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseCallResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseCreateMonitoredItemsRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseCreateMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseModifyMonitoredItemsRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseModifyMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseSetMonitoringModeRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseSetMonitoringModeResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseSetTriggeringRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseSetTriggeringResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseDeleteMonitoredItemsRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseDeleteMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseCreateSubscriptionRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseCreateSubscriptionResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseModifySubscriptionRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseModifySubscriptionResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseSetPublishingModeRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseSetPublishingModeResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parsePublishRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parsePublishResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseRepublishRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseRepublishResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseTransferSubscriptionsRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseTransferSubscriptionsResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseDeleteSubscriptionsRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseDeleteSubscriptionsResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseTestStackRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseTestStackResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseTestStackExRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void parseTestStackExResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset);
void registerServiceTypes(void);
